package core.algorithms;

import java.io.Serializable;

import core.interfaces.IState;

public class SearchResults<T> implements Serializable
{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1698394432102014743L;
	public IState<T> m_FinalState;
	public double m_FinalStateValue;
	public boolean m_IsFinishedAllSteps;
	public int m_TotalStepsTaken;
	
	
	public SearchResults(IState<T> finalState, double finalStateValue,
			boolean isFinishedAllSteps, int totalStepsTaken)
	{
		super();
		m_FinalState = finalState;
		m_FinalStateValue = finalStateValue;
		m_IsFinishedAllSteps = isFinishedAllSteps;
		m_TotalStepsTaken = totalStepsTaken;
	}
	
	public IState<T> getFinalState()
	{
		return m_FinalState;
	}
	public void setFinalState(IState<T> finalState)
	{
		m_FinalState = finalState;
	}
	public double getFinalStateValue()
	{
		return m_FinalStateValue;
	}
	public void setFinalStateValue(double finalStateValue)
	{
		m_FinalStateValue = finalStateValue;
	}
	public boolean isFinishedAllSteps()
	{
		return m_IsFinishedAllSteps;
	}
	public void setIsFinishedAllSteps(boolean isFinishedAllSteps)
	{
		m_IsFinishedAllSteps = isFinishedAllSteps;
	}
	public int getTotalStepsTaken()
	{
		return m_TotalStepsTaken;
	}
	public void setTotalStepsTaken(int totalStepsTaken)
	{
		m_TotalStepsTaken = totalStepsTaken;
	}
}
